package com.yonyou.gmmc.service.shopping.dao;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.yonyou.gmmc.common.annotation.OracleDb;
import com.yonyou.gmmc.service.shopping.model.TmTpOrderInfo;

import feign.Param;
import tk.mybatis.mapper.common.Mapper;

@OracleDb
public interface TmTpOrderInfoMapper extends Mapper<TmTpOrderInfo> {
    
    /**
    * 更新订单状态
    * @author Administrator
    * TODO description
    * @date 2017年4月13日
    * @param orderInfo
    */
    public int  updateOrderStatus(TmTpOrderInfo orderInfo);
    
    /**
    * 生成第三方订单号
    * @author Administrator
    * TODO description
    * @date 2017年4月14日
    * @return
    */
    public String selectOrderNum(TmTpOrderInfo tmTpOrderInfo);
    
    /**
    * 保存订单
    * @author Administrator
    * TODO description
    * @date 2017年4月20日
    * @param tmTpOrderInfo
    */
    public void insertOrder(TmTpOrderInfo tmTpOrderInfo);
    
    /**
    * 订单列表查询
    * @author Administrator
    * TODO description
    * @date 2017年4月20日
    * @param userId
    * @return
    */
    public List<TmTpOrderInfo> selectOrderList(Map<String, Object> queryMap);
    /**
     * PC订单列表查询
     * @author Administrator
     * TODO description
     * @date 2017年4月20日
     * @param userId
     * @return
     */
     public List<TmTpOrderInfo> queryOrderList(Map<String, Object> queryMap);
    /**
     * 订单列表商品信息查询
     * @author Administrator
     * TODO description
     * @date 2017年4月20日
     * @param userId
     * @return
     */
     public List<Map<String, Object>> selectPeoductList(@Param("thirdOrder") String thirdOrder);
    /**
    * 订单详情查询
    * @author Administrator
    * TODO description
    * @date 2017年4月20日
    * @param thirdOrder
    * @param userId
    * @return
    */
    public List<Map<String, Object>> selectOrderInfo(Map<String, Object> queryMap);

    /**
     * 订单详情状态
     * @param queryMap
     * @return
     */
	public List<TmTpOrderInfo> selectOrderStatus(Map<String, Object> queryMap);
	

    /**
     * 查询用户类型
     * @param openId
     * @return
     */
    public String querySourceType(@Param("openId") String openId);
    
    /**
     * 根据openId查询用户userId
     * @param openId
     * @return
     */
    public String queryUserIdByOpenId(@Param("openId") String openId);
    
    /**
     * 车主APP根据UserId查询OpenId
     * @param userId
     * @return
     */
    public String selectopenIdByUserId(@Param("userId") String userId);
}